package com.lili.collection.core.domain;

import com.alibaba.fastjson2.JSONObject;
import lombok.Data;

import java.util.UUID;

/**
 *描述: JSON解析节点
 *@date: 2023/10/20  15:57
 *@author: lili
 */
@Data
public class LinkedNode {

    /**
     * 父节点
     */
    private LinkedNode parent;

    /**
     * 父节点名
     */
    private String parentName;

    /**
     * 当前层级名
     */
    private String levelName;

    /**
     * 当前路径数据
     */
    private JSONObject data;

    /**
     * 对象标识
     */
    private String flag;

    public LinkedNode(LinkedNode parent, String parentName, JSONObject data) {
        this.parent = parent;
        this.parentName = parentName;
        this.data = data;
        this.flag= UUID.randomUUID().toString().replace("-","");
    }

    @Override
    public String toString(){
        return levelName;
    }

    @Override
    public boolean equals(Object obj) {
        if(obj==null || !(obj instanceof LinkedNode)){
            return false;
        }
        LinkedNode node=(LinkedNode)obj;
        if(this.flag.equals(node.getFlag())){
            return true;
        }
        return false;
    }
}